#ifndef PROCESOCOORDINADOR_H_
#define PROCESOCOORDINADOR_H_

#include <vector>
#include "ProcesoJugador.h"
#include "Comunicador.h"
#include "Aviso.h"

class ProcesoCoordinador : public ProcesoJugador {
	public:
		ProcesoCoordinador(char* totalJugadores, char* debug);
		~ProcesoCoordinador();
		int correr();
	
	private:
		std::vector<Comunicador*> aJugadores, deJugadores;
		Comunicador* aEstad, *deEstad;
		int cantJugadores;
		int ganadorRonda;
		
		int verificarEstadoJugadores();
		int verificarEstadoJugador(int indiceJugador);
		void cerrarCanalesLectura();
		void cerrarCanalesEscritura();		// Cierra y elimina.
		void repartirCartas();
		void avisarJugador(int i, int tipoAviso);
		void avisarJugadores(int tipoAviso);
		void avisarEstadisticoGanador();
		void recibirOKJugadores();
};

#endif /* PROCESOCOORDINADOR_H_ */
